一键抠图Portrait Matting人像抠图 (C++和Android源码)
1.项目介绍
【原文博客】https://panjinquan.blog.csdn.net/article/details/121680939
基于深度学习的抠图算法Matting主要可以分为两大类:
(1)一种是基于辅助信息输入。即除了原图和标注图像外,还需要输入其他的信息辅助预测。最常见的辅助信息是Trimap,即将图片划分为前景,背景及过度区域三部分。另外也有以背景或交互点作为辅助信息。
(2)一种是不依赖任何辅助信息,直接对Alpha进行预测。如本博客复现的MODNet
第一种方法,需要加入辅助信息,而辅助信息一般较难获取,这也限制其应用,为了提升Matting的应用性,针对Portrait Matting领域MODNet摒弃了辅助信息,直接实现Alpha预测,实现了实时Matting,极大提升了基于深度学习Matting的应用价值。
本篇实现MODNet人像抠图算法,一个效果相当不错的人像抠图算法,可以达到头发细致级别的人像抠图效果,先展示一下Android测试效果:
(1)语义部分(S):对high-level的特征结果进行监督学习,标签使用的是下采样及高斯模糊后的GT,损失函数用的L2-Loss,用L2loss应该可以学到更soft的语义特征;MODNet模型学习分为三个部分,分别为:语义部分(S),细节部分(D)和融合部分(F)。
(2)细节部分(D):结合了输入图像的信息和语义部分的输出特征,通过encoder-decoder对人像边缘进行单独地约束学习,用的是交叉熵损失函数。为了减小计算量,encoder-decoder结构较为shallow,同时处理的是原图下采样后的尺度。
(3)融合部分(F):把语义输出和细节输出结果拼起来后得到最终的alpha结果,这部分约束用的是L1损失函数。
MODNet可以达到头发细致级别的人像抠图效果,目前已经将算法成功移植到Android,下面是Android测试效果:
APP一键抠图体验,下载地址:https://download.csdn.net/download/guyuealian/63228759
原始图像 | 抠图效果 |
2.详细说明
详细说明,请查看原文《一键抠图Portrait Matting人像抠图 (Android源码)》
3.资源下载
关于项目的任何问题,均可在博客评论留言~
《一键抠图Portrait Matting人像抠图 (Android源码)》的项目源码
【源码链接下载】